From: Florian Müllner Date: Wed, 6 Jul 2022 12:16:38 +0000 (+0200) Subject: extensions-app: Use new add_action_entries() override X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~461^2^2~216 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=a3dc9817f2bf49ccfab6888bccdeaee0ccdaf6b2;p=gnome-shell.git extensions-app: Use new add_action_entries() override g_action_map_add_entries() is a C convenience API that isn't introspectable, but gjs recently added a JS override for it. Use it to save some boilerplate. Part-of: --- diff --git a/subprojects/extensions-app/js/main.js b/subprojects/extensions-app/js/main.js index 98922363d..2d8ff1111 100644 --- a/subprojects/extensions-app/js/main.js +++ b/subprojects/extensions-app/js/main.js @@ -58,9 +58,11 @@ class Application extends Adw.Application { vfunc_startup() { super.vfunc_startup(); - const action = new Gio.SimpleAction({ name: 'quit' }); - action.connect('activate', () => this._window.close()); - this.add_action(action); + this.add_action_entries( + [{ + name: 'quit', + activate: () => this._window.close(), + }]); this.set_accels_for_action('app.quit', ['q']); @@ -95,24 +97,20 @@ var ExtensionsWindow = GObject.registerClass({ this._exporter = new Shew.WindowExporter({ window: this }); this._exportedHandle = ''; - let action; - action = new Gio.SimpleAction({ name: 'show-about' }); - action.connect('activate', this._showAbout.bind(this)); - this.add_action(action); - - action = new Gio.SimpleAction({ name: 'logout' }); - action.connect('activate', this._logout.bind(this)); - this.add_action(action); - - action = new Gio.SimpleAction({ - name: 'user-extensions-enabled', - state: new GLib.Variant('b', false), - }); - action.connect('activate', toggleState); - action.connect('change-state', (a, state) => { - this._shellProxy.UserExtensionsEnabled = state.get_boolean(); - }); - this.add_action(action); + this.add_action_entries( + [{ + name: 'show-about', + activate: () => this._showAbout(), + }, { + name: 'logout', + activate: () => this._logout(), + }, { + name: 'user-extensions-enabled', + state: 'false', + change_state: (a, state) => { + this._shellProxy.UserExtensionsEnabled = state.get_boolean(); + }, + }]); this._searchTerms = []; this._searchEntry.connect('search-changed', () => {